﻿Imports DataAcessLayer

Partial Public Class WebForm4
    Inherits System.Web.UI.Page

    Dim DAL As New DAL
    Private Shared intIDJogo As Integer
    Private Shared flag As Boolean

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Message.Visivel = False
        lblAccAlterar.Text = "Criar Jogo"

        If Not Page.IsPostBack Then
            Preenchimento()

            ddlMVP.DataSource = DAL.ObterTodosUsers
            ddlMVP.DataValueField = "IDUser"
            ddlMVP.DataTextField = "NomeUtilizador"
            ddlMVP.DataBind()
            ddlMVP.Items.Insert(0, "Não Atribuído")

        End If
    End Sub

    Protected Sub Preenchimento()

        gvJogos.DataSource = DAL.ObterJogos.ToList
        gvJogos.DataBind()

    End Sub

    Private Sub gvJogos_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles gvJogos.PageIndexChanging

        gvJogos.PageIndex = e.NewPageIndex
        Preenchimento()

    End Sub

    Protected Sub gvJogos_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles gvJogos.RowCommand

        If e.CommandName = "Editar" Then

            lblAccAlterar.Text = "Editar Jogo"

            Dim jogo = DAL.ObterJogoPorID(e.CommandArgument).FirstOrDefault
            txtData.Text = jogo.Data
            txtResultado.Text = jogo.Resultado
            txtGolosA.Text = jogo.GolosEA
            txtGolosB.Text = jogo.GolosEB
            intIDJogo = e.CommandArgument
            flag = True
            Accordion1.SelectedIndex = 0

        ElseIf e.CommandName = "Apagar" Then

            If DAL.ApagarJogo(e.CommandArgument) Then
                Message.FeedbackUserMessage("Jogo apagado com Sucesso!", TipoMensagem.Sucesso)
            Else
                Message.FeedbackUserMessage("Ocorreu um erro!", TipoMensagem.Erro)
            End If

            flag = False

            Preenchimento()
        End If

    End Sub

    Protected Sub lnkGravar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles lnkGravar.Click
        If flag Then

            If DAL.AlterarJogo(intIDJogo, txtData.Text, txtResultado.Text, txtGolosA.Text, _
                               txtGolosB.Text, _
                                ddlMVP.SelectedItem.Text) Then

                Message.FeedbackUserMessage("Jogo Alterado com Sucesso!", TipoMensagem.Sucesso)
            Else
                Message.FeedbackUserMessage("Ocorreu um erro!", TipoMensagem.Erro)
            End If

        Else

            If DAL.InserirJogo(txtData.Text, txtResultado.Text, txtGolosA.Text, _
                               txtGolosB.Text, ddlMVP.SelectedItem.Text) Then

                Message.FeedbackUserMessage("Jogo criado com Sucesso!", TipoMensagem.Sucesso)
            Else
                Message.FeedbackUserMessage("Ocorreu um erro!", TipoMensagem.Erro)
            End If
        End If


        If ddlMVP.SelectedIndex <> 0 Then

            If Not DAL.ActualizarMVP(ddlMVP.SelectedValue) Then

                Message.FeedbackUserMessage("Ocorreu um erro ao actualizar MVP!", TipoMensagem.Erro)
            End If

        End If

        flag = False
        Preenchimento()
    End Sub

    Protected Sub lnkCancelar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles lnkCancelar.Click
        lblAccAlterar.Text = "Criar Jogo"
        txtData.Text = ""
        txtGolosA.Text = ""
        txtGolosB.Text = ""
        txtResultado.Text = ""
        flag = False
        Accordion1.SelectedIndex = 1
    End Sub

End Class